A conventional known relay device registers, in a forwarding database (FDB), the media access control (MAC) address of a transmission source from which a packet has been transmitted in association with a port via which the packet has been received, and selects, based on the FDB, a port from which the packet is to be transmitted.
For example, upon receiving a packet, the relay device registers, in the FDB, the MAC address of the transmission source of the packet in association with a port via which the packet has been received. The relay device also determines whether the MAC address of the transmission destination of the received packet is registered in the FDB. When the MAC address of the transmission destination is registered in the FDB, the relay device transmits the packet via the port that has been registered in association with the MAC address.
When the MAC address of the transmission destination of the received packet is not registered in the FDB, the relay device performs flooding that causes the packet to be transmitted in a predetermined order from all ports other than the port via which the packet has been received. When the relay device receives, via a plurality of ports, packets flooded from other relay devices, the relay device registers, in the FDB, the MAC address of the transmission source of the received packet in association with a port via which one of the packets has been first received.
As an example of the relay device, a switch that transmits a packet using a FDB will be described below.
FIG. 11 is a diagram illustrating an example of a system in which conventional switches are used. In the example in FIG. 11, packets that are transmitted and received between servers 38, 38a, 38b, and servers 38c, 38d, 38e, are relayed via a plurality of switches 30 to 37.
When the switches 30 to 37 each receive a packet destined for a MAC address that is not registered in the FDB, the switch performs flooding. The switches 30 to 37 each learn a path that causes the least delay by registering, in the FDB, a port via which one of packets flooded from another relay device has been first received in association with the MAC address of the transmission source of the received packet.
FIG. 12 is a schematic diagram illustrating an example of flooding processing executed by a conventional switch. In the example in FIG. 12, the switch 30 includes a plurality of ports 39 to 42 and a MAC processing unit 43. For example, the MAC processing unit 43 receives a packet from the server 38 via the port 39.
Then, the MAC processing unit 43 determines whether the MAC address of the transmission destination of the received packet is registered in the FDB. When the MAC processing unit 43 determines that the MAC address is not registered, the MAC processing unit 43 performs flooding. That is, the switch 30 transmits the packet from the ports 40, 41, and 42, in a predetermined order, for example, in order of the port 40, port 41, and port 42.
Then, in the example in FIG. 11, the switches 31 to 36 each flood the packet transmitted from the switch 30 and register, in the FDB, information on the server 38 in association with a port via which the packet has been first received. As a result, the switches 30 to 37 each learn a path that causes the least delay among the paths through which packets destined for the server 38 are transferred.
After that, upon receiving a packet destined for the server 38, each of the switches 30 to 37 transmits the packet via the port associated with the MAC address of the server 38. That is, the switches 30 to 37 each transfer the packet destined for the server 38 through the path that causes the least delay.
Japanese Laid-open Patent Publication No. 2008-141614 is an example of related art.